<?php
namespace Components;

class Utils {
	/**
	 * [将Base64图片转换为本地图片并保存]
	 * @E-mial wuliqiang_aa@163.com
	 * @TIME   2017-04-07
	 * @WEB    http://blog.iinu.com.cn
	 * @param  [Base64] $base64_image_content [要保存的Base64]
	 * @param  [目录] $path [要保存的路径]
	 */
	static function base64_image_content($base64_image_content, $path){
	    //匹配出图片的格式
	    if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64_image_content, $result)){
	        $type = $result[2];
	        $new_file = $path;
	        if(!file_exists($new_file)){
	            //检查是否有该文件夹，如果没有就创建，并给予最高权限
	            mkdir($new_file, 0777, true);
	        }
			$fileName = time().rand(111,999).'.'.$type;
	        $new_file = $new_file.'/'.$fileName;
	        if (file_put_contents($new_file, base64_decode(str_replace($result[1], '', $base64_image_content)))){
	            return ['code' => 0, 'msg'=>'图片保存成功', 'file_name'=>$fileName];
	        } else {
				return ['code' => -1, 'msg'=>'图片保存失败'];
	        }
	    } else {
	    	return ['code' => -1, 'msg'=>'不是图片格式的BASE64'];
	    }
	}
}
